DEFINE_SIMPLE_SELECTOR(id, ID, print_id, match_id, hash_id, comp_id, TRUE, FALSE, FALSE)
-/* PSEUDOCLASS FOR STATE */
-
-static void
-print_pseudoclass_state (const GtkCssSelector *selector,
- GString *string)
+const gchar *
+gtk_css_pseudoclass_name (GtkStateFlags state)
{
static const char * state_names[] = {
"active",
};
guint i;
- g_string_append_c (string, ':');
-
for (i = 0; i < G_N_ELEMENTS (state_names); i++)
{
- if (selector->state.state == (1 << i))
- {
- g_string_append (string, state_names[i]);
- return;
- }
+ if (state == (1 << i))
+ return state_names[i];
}
- g_assert_not_reached ();
+ return NULL;
+}
+
+/* PSEUDOCLASS FOR STATE */
+static void
+print_pseudoclass_state (const GtkCssSelector *selector,
+ GString *string)
+{
+ g_string_append_c (string, ':');
+ g_string_append (string, gtk_css_pseudoclass_name (selector->state.state));
}
static gboolean
GtkCssSelectorTree * _gtk_css_selector_tree_builder_build (GtkCssSelectorTreeBuilder *builder);
void _gtk_css_selector_tree_builder_free (GtkCssSelectorTreeBuilder *builder);
+const char *gtk_css_pseudoclass_name (GtkStateFlags flags);
+
G_END_DECLS
#endif /* __GTK_CSS_SELECTOR_PRIVATE_H__ */